Method for optimal transmitter placement in wireless mesh networks

ABSTRACT

A process for forming a wireless mesh network (WMN) in which client coverage is calculated using a point-to-point propagation loss model and optimal routing and power allocation is determined to quantify the value of network flow. In one embodiment, the process calculates loss based on access point locations, operating characteristics and terrain and environment information. In one embodiment, the network flow and coverage subproblem values are combined via a penalty function. The process creates WMN topologies that maximize client coverage area by choice of access point locations, subject to constraints on network flow and power allocation, number and technical capabilities of access points, background and environmental noise, and radio propagation over terrain.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.61/174,819, filed May 1, 2009, which is hereby incorporated in itsentirety by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates generally to communications systems andparticularly to wireless mesh networks. Still more particularly thisinvention relates to a method for quickly and optimally designing awireless mesh network.

2. Description of the Related Art

Wireless mesh networks (WMNs) are systems of wireless access points(APs) interconnected in a mesh to provide digital services to clientdevices via radio transmission. These client devices typically arelaptop computers, personal digital assistants (PDAs), sensor systems, orother electronic devices requiring network connectivity. WMNs supportany type of digital communication, including email, Internet access,file transfer, and voice communication, and they can transmit thisinformation rapidly, reliably, and efficiently.

WMNs can be deployed and configured to fulfill communicationsrequirements, and they have several characteristics that make themparticularly well suited to austere environments (i.e., scenarios wherecommunications infrastructure is seriously degraded, destroyed ornon-existent). These characteristics include the ability to reroutetraffic dynamically when APs are lost or added to the network and theability to operate with no infrastructure other than a local powersource (such as a battery or small generator). Unlike devices connectedto wireless local area networks (WLANs) or “hotspots,” clients on WMNsare free to roam from the coverage area of one wireless AP to anotherwithout loss of service.

Military and civilian organizations can benefit from the advantagesprovided by WMNs. The Enhanced Company Operations (ECO) concept of theUnited States Marine Corps (USMC) relies on separation and coordinationof tactical units to gain an advantage over the enemy. This conceptrequires voice, data, and surveillance fused into a single commonoperating picture. Tactical units must gravitate from push-to-talk radiosystems to mobile ad hoc mesh networking. WMNs can quickly and securelyrelay time-critical information such as intelligence reports, tacticalorders, and location sensor readings to separated small units in supportof ECO.

The Department of Homeland Security (DHS) requires that the publicsafety community have the ability to communicate and share informationas authorized when it is needed, where it is needed, and in a mode orform that allows the practitioners to effectively use it. Datacommunications are becoming increasingly important to public safetypractitioners to provide the information needed to carry out theirmissions. During humanitarian assistance and disaster relief (HA/DR)operations, WMNs can provide maps, floor plans, video surveillance,emergency aid requests, and other critical information to personnel.

The physical topology (i.e., the locations of the wireless APs) of a WMNis critical to its performance. Network engineers must place andconfigure wireless APs to provide service to clients in desired areas,while meeting restrictions on number, placement, and characteristics ofAPs, as well as requirements for coverage, bandwidth, and other servicestandards. Consideration must also be given to the effects of terrainand other aspects of the operating environment on radio wavepropagation. Because combat and HA/DR operations are highlytime-sensitive, the WMN must be designed quickly and with as littleguesswork as possible.

A wireless mesh network comprises fixed APs that use separate radiosystems to provide two levels of network connectivity (herein the termaccess point is used generically for any type of wireless meshtransmitter or base station device). The fixed position of APsdifferentiates WMNs from so-called “ad hoc” networks, where APs can beconstantly moving. The first connectivity level of a WMN supportsAP-to-AP communication, providing the backhaul radio network that routestraffic from source to destination. The second level supportsAP-to-client radio communication. Client devices, such as laptops, PDAs,sensors, or other electronic devices, can be mobile within the WMNclient coverage area. While a client device is roaming within acontiguous coverage area, APs may seamlessly “hand off” the client to amore appropriate AP without loss of client network connectivity. WMNsmay connect to an outside network or the Internet through a gateway(including via a satellite uplink).

There are three different types of WMN architecture as shown in FIGS.1-3. FIG. 1 shows an infrastructure mesh WMN 10 that includes aplurality of access points 12 and 14 and a plurality of client devices16-19. Client devices 16-19 communicate to a single AP 12 or 14 at atime, and hence do not route traffic. FIG. 2 shows a client mesh WMN 22that has client devices 24-26 with no dedicated APs. Each client device24-26 serves as both a user terminal and as an AP, routing trafficdirectly to other client devices. FIG. 3 shows a hybrid mesh WMN 28 thatincludes both a traditional AP and client devices 30-33 that are capableof serving as APs. This invention is concerned with mesh architecturesin which wireless APs alone provide traffic routing services; clients donot perform any routing. Additionally, it is assumed that each AP, oncepositioned, will remain stationary.

Prior design techniques fail to provide suggested wireless AP locationswith any assurance of a good solution. Essentially, engineers typicallydesign WMNs based on experience and trial-and-error using limitedsupport tools.

SUMMARY OF THE INVENTION

Embodiments in accordance with the invention provide a method forquickly and optimally designing a wireless mesh network. The inventionmaximizes client coverage area by choice of access point locations,subject to constraints on network service, quantity and technicalcapabilities of access points, environmental information, and radiopropagation over terrain. The present invention uses anon-differentiable, non-convex, nonlinear optimization problem toquantify the value of a given network and uses a sampling algorithm toquickly find optimized solutions.

In one embodiment, the method is implemented as a decision support tooland is executable on a laptop computer, accepts map data in a genericfile format, creates network topologies for virtually any type ofterrain and mesh access point device.

The imperative to maximize client coverage creates an incentive to placeAPs farther away from one another. This reduces or eliminates redundantcoverage, and maximizes the area receiving adequate client service froma wireless AP. However, the constraints of network service and APcapabilities create an incentive to place APs nearer each other. Thisincreases AP-to-AP network performance and ensures technical constraintsare satisfied. The tension between these competing design goals is thecore of the optimization problem.

In accordance with one embodiment, a process for forming a wireless meshnetwork that includes a plurality of access points arranged to provideradio communications with a plurality of client devices includes:establishing criteria for client coverage and network signal flow forthe wireless mesh network; defining an operating region as a topographicarea where access points may be placed; selecting an arrangement ofaccess points in the operating region. The process further includesdiscretizing the operating region into a grid, defining coverage regionswithin the grid where client coverage is desired, and defining a minimumcoverage threshold for each coverage region for a client to connect toan access point in the operating region. The process additionallyincludes calculating client coverage at each coverage region, comparingcalculated client coverage to the minimum coverage threshold for eachcoverage region, determining optimal signal routing and power allocationfor each access point to determine values for network signal flow, andcomparing the calculated client coverage and network signal flow to theestablished criteria. If the established criteria are not met, theinvention includes selecting a new arrangement of access points andrepeating the operations necessary for comparing the new calculatedclient coverage and network signal flow to the established criteria.

In one embodiment, the process further includes establishing a stoppingcriterion for ending the process. In one embodiment, a stoppingcriterion is a selected number of iterations.

Embodiments in accordance with the invention are best understood byreference to the following detailed description when read in conjunctionwith the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a simple infrastructure wireless mesh network;

FIG. 2 illustrates a client wireless mesh network;

FIG. 3 illustrates a hybrid wireless mesh network;

FIG. 4 illustrates discretizing of the operating area of a WMN inaccordance with one embodiment;

FIG. 5 illustrates boundaries of the SRRA+C solution space in accordancewith one embodiment;

FIG. 6 illustrates an example of bilinear interpolation in accordancewith one embodiment;

FIG. 7A illustrates sampling the center of a hyper-cube in accordancewith one embodiment;

FIG. 7B illustrates sampling along each of the hyper-cubes longestdimensions in accordance with one embodiment;

FIGS. 8A-C illustrate division of the initial hyper-cube in accordancewith one embodiment;

FIG. 9 illustrates the method of the invention showing hierarchicaldecomposition of SRRA+C solved with a division of rectangles algorithmin accordance with one embodiment;

FIG. 10 graphically illustrates calculated received signal strengthresulting from a 5.8 GHz transmit frequency as a function of distancecompared to actual measurements using a WMN formed using the method ofthe present invention in accordance with one embodiment; and

FIG. 11 graphically illustrates calculated received signal strengthresulting from a 2.4 GHz transmit frequency as a function of distancecompared to actual measurements using a WMN formed in accordance withone embodiment.

DETAILED DESCRIPTION OF THE INVENTION

In accordance with one embodiment, the process of maximizing clientcoverage in a WMN is divided into two major subproblems. The firstsubproblem calculates client coverage using the Terrain Integrated RoughEarth Model (TIREM) (Alion Science and Technology Corporation, 2007),given AP locations, operating characteristics, and terrain andenvironment information. The second subproblem determines the optimalrouting and power allocation scheme to quantify the value of networkflow, solved using Simultaneous Routing and Resource Allocation (SRRA)techniques. After combining the SRRA and coverage subproblems via apenalty function, the overall formulation is referred to as SRRA+C.SRRA+C is a non-differentiable, non-convex, nonlinear optimizationproblem. A DIviding RECTangles (DIRECT) algorithm is used to iterativelysample the SRRA+C objective function in pursuit of an optimal solution.In one embodiment, the process is embodied as a decision support toolexecuted on a laptop computer, and accepts map data in a generic fileformat that is widely available on the Internet, creates networktopologies for virtually any type of terrain and mesh AP device.

Client Coverage Area

Various techniques exist for quantifying and valuing client coveragearea. For example, an area can be considered covered if it receives asignal strength greater than a certain threshold, if it supports acertain amount of client demand, or if it satisfies other criteria. Thevalue of coverage can be determined by the worth assigned to aparticular client or area, by surface area, or by other metrics.

Depending on the particular metric, greater coverage can be achieved byutilizing techniques similar to increasing network throughput:transmitting more power or at a higher frequency, or utilizing a largerbandwidth or a more complex modulation scheme. It can also be achievedby placing APs in elevated, central locations where radio emissions havea greater chance of being received, and by placing APs farther from eachother to increase the total covered area.

Solution Approach

Referring to FIG. 4, an operating region is defined as the topographicarea where the user may place APs. The operating region is discretizedinto a grid (u, v)εG where u=1, 2, . . . U, v=1, 2, . . . V. Each (u,v)εG ordered pair denotes a discrete area with a corresponding elevationin meters E_(uv). The set C (where (u, v)εC⊂G) is defined as thecoverage region, that area within the operating region where clientcoverage is specifically desired. An indexed set iεN is defined where Nis the set of all AP nodes {1, 2, . . . n}. It is assumed that thenetwork can be represented as a mesh of AP nodes i emanating from asingle central node dεN, also referred to as the gateway or headquartersnode. It is also assumed that the gateway node is the first node in theset N, and its position is fixed in advance. Once an AP has been placed,it is assumed to remain stationary.

Each AP has two radios: one to provide client coverage (gray area), andthe other to enable a backhaul network between nodes (dashed lines).Without loss of generality, it is assumed APs are not subject tointerference from other APs.

The vast majority of client network traffic will be directed to or fromthe gateway node d, as this location will connect to the Internet orother outside network, and will house email, domain, and storageservers. Traffic directly between AP nodes is permitted; and it isassumed that the nodes will route this traffic dynamically. Hence, thenetwork is optimized for traffic flow from client service areas to thegateway node.

Client Coverage

The user defines the coverage region(s) (u, v)εC⊂G and the minimumsignal strength required for a client to connect to an AP in thatregion. Client devices and associated network demand are distributeduniformly within the defined coverage region. The objective is tomaximize total client coverage within the desired region. In oneembodiment, client devices will connect to only one AP at any point intime, and each AP can support the client devices within its coverageregion.

The present invention determines client coverage by a method, e.g.,process, that calculates the received signal strength (RSS) at eachdiscrete coverage location (u, v)εC. Received signal strength ρ atcoverage region (u, v) from node i in dBm is calculated using a standardlink budget formula:ρ_(uv) ^(i) =P _(tx) +g _(tx) −L _(tx) −L _(ƒs) −L _(m) +g _(rx) −L_(rx)  (1)where P_(tx) is transmitted power in dBm, g_(tx) and g_(rx) arerespectively the gains of the AP and receiver in dBi, L_(tx) and L_(rx)are respectively the losses (i.e., from cables, connectors, etc.) of theAP and receiver in dB, L_(ƒs) is free space loss in dB, and L_(m) ismiscellaneous loss (such as fade margin) in dB. Transmission powerbetween any two APs is defined as a decision variable, and gains,equipment losses, and fade margins as data. As all terms are in decibelform, and the P_(tx) term is a logarithmic function of power in watts,this function is monotonic increasing in P_(tx).

The formulation allows any of a wide variety of methods of computingfree space loss L_(ƒs). This invention uses three common methods. Thefirst method computes loss using an inverse-square law. The loss issimply the inverse of the distance squared. While this method capturessome aspect of the diffusion of radio wave power over distance, it isnot an accurate method of determining loss and is used simply fortesting purposes.

The second method of determining free space loss is through the HataCOST-231 model for radio propagation:L=46.3+33.9 log ƒ−13.82 log h _(S) −C _(H)+(44.9−6.55 log h _(S))log1000d+Cwhere L is median path loss in dB, ƒ is transmission frequency inmegahertz, h_(S) is sender effective height in meters, d is distance inmeters, C is a constant in dB (0 for medium cities and suburban areas, 3for metropolitan areas), and C_(H) is the receiver antenna heightcorrection factor:C _(H)=0.8+(1.1 log ƒ−0.7)h _(R)−1.56 log ƒfor small and medium cities and

$C_{H} = \left\{ \begin{matrix}{{{8.29\left( {\log\left( {1.54\; h_{R}} \right)} \right)^{2}} - 1.1},} & {{{if}\mspace{14mu} 150} \leq f \leq 200} \\{{{3.2\left( {\log\left( {11.75\; h_{R}} \right)} \right)^{2}} - 4.97},} & {{{if}\mspace{14mu} 200} \leq f \leq 1500}\end{matrix} \right.$for large cities, where h_(R) is receiver antenna height in meters. Thismethod provides a good approximation of propagation loss and iscomputationally very quick. However, it does not specifically accountfor path obstructions, i.e., it does not consider terrain, and it isvalid for frequencies between 1.5 and 2.0 GHz.

A third method utilizes the Terrain Integrated Rough Earth Model (TIREM)of Alion Science & Technology Corporation. This commercial tool is thesame propagation method used in the Marine Corps' SPEED tool and othercommercial planning tools such as the Satellite Toolkit of AnalyticalGraphics, Inc. (2009). The model utilizes terrain information to computea path profile between sender and receiver, sampling terrain elevationat a given frequency. This path profile is then used to computepropagation loss, considering the effects of free space loss,diffraction around obstacles, and atmospheric absorption and reflection.The TIREM method also considers the following variables:

Transmission frequency;

Transmitter and receiver antenna gain, height, and polarization;

Conductivity of the earth's surface;

Surface humidity;

Relative permittivity of the earth's surface; and

Surface refractivity.

The model has a wide range of valid input values; for example, frequencycan vary between 1 MHz and 20 GHz; and antenna height can vary betweenground level and 30 kilometers. While this method is the most accurateof the three, it is also the most computationally expensive.

Calculating the Value of Client Coverage

In principle, the value of client coverage can be computed as a simplesum of the number of discrete regions that receive a minimal thresholdof service. In this fashion, each region would or would not be covered,indicated by a binary decision variable. This method is simple tounderstand, but the binary decision variables greatly increasecomputational complexity.

In one embodiment, to avoid creating a mixed integer program, thepresent invention uses the concept of power coverage. Each coverageregion (which need not be contiguous) has a minimum coverage thresholdτ_(uv) in watts. Any received signal above this threshold results inuseable client coverage. For each (u, v)εC, calculate ρ_(uv) ^(i), theactual received signal strength from node i using Equation (1). Thedifference of ρ_(uv) ^(i), (converted to watts) and τ_(uv) represents aquantity defined as coverage shortfall at region (u, v) from node i.Coverage shortfall should be minimized: a positive difference representsinadequate power coverage. Additionally, regions where greater networkdemand is expected can be indicated (or a region of greater importance)by utilizing larger threshold values τ_(uv). Summarizing,(Coverage Shortfall)_(uv) ^(i)≡(τ_(uv)−ρ_(uv) ^(i)).

As each client device can connect to only one AP at any point in time,in one embodiment, only the minimum coverage shortfall calculated fromeach node I is considered. Only positive terms are allowed to remove anybenefit of “blasting” a particular region with power. This yields:(Coverage Shortfall)_(uv)≡min(τ_(uv)−ρ_(uv) ^(i))where (τ_(uv)−ρ_(uv) ^(i))₊ denotes the projection onto the nonnegativeorthant. To find the coverage shortfall for all possible coverage gridsquares (u, v)εC, the sum is taken over all (u, v)εC. This yields totalcoverage shortfall:

$\begin{matrix}{\left( {{Total}\mspace{14mu}{Coverage}\mspace{14mu}{Shortfall}} \right) \equiv {\sum\limits_{{({u,v})} \in C}{{\min\left( {\tau_{uv} - \rho_{uv}^{i}} \right)}_{+}.}}} & (2)\end{matrix}$

This measure avoids double counting when a particular (u, v)εC receivesmore than τ_(uv) from more than one AP. It also bounds the amount anyregion can be penalized to no more than τ_(uv).

Total coverage shortfall is used in the present formulation. Othercoverage objectives could involve average coverage shortfall (obtainedby dividing by the cardinality of the set of all coverage grid squaresC), and maximum coverage shortfall:

$\left( {{Average}\mspace{14mu}{Coverage}\mspace{14mu}{Shortfall}} \right) \equiv {\frac{1}{C}{\sum\limits_{{({u,v})} \in C}^{\;}{\min\left( {\tau_{uv} - \rho_{uv}^{i}} \right)}_{+}}}$(Maximum  Coverage  Shortfall) ≡ max [min (τ_(uv) − ρ_(uv)^(i))₊].

Network Routing and Resource Allocation

A network flow problem is formulated to maximize the delivered trafficin bits per second (bps) from any node i to the HQ node, givenconstraints on communications resources. Arc capacities between eachnode are calculated and then used in the network problem.

Calculating Arc Capacities

In addition to calculating client coverage, the flow of traffic betweenAP nodes is calculated as a measure of network performance. These flowsare optimized using a network flow problem, maximizing the flow in thenetwork from any node i to the gateway (HQ) node.

Flow maximization requires as input arc capacities between AP nodes. Incomputing arc capacity it is possible to ignore many of the effects of aparticular device's actual hardware and software characteristics byusing a capacity formula that establishes a theoretical upper bound onradio link capacity in bits per second:

$\begin{matrix}{({Capacity})_{ij} = {B\;{\log_{2}\left( {1 + \frac{{Signal}_{ij}}{b_{ij}}} \right)}{\forall{\left( {i,j} \right) \in A}}}} & (3)\end{matrix}$where B is the channel bandwidth in hertz, and Signal_(ij) and b_(ij)are respectively the signal power and background noise power in watts orvolt² from node i to node j. To calculate the received signal capacity,the Signal term is calculated using the antilog of the link budgetformula (Equation 1), which yields:

$\begin{matrix}{({Capacity})_{ij} = {B\;{\log_{2}\left( {1 + {\frac{g_{ij}}{b_{ij}l_{ij}}P_{ij}}} \right)}{\forall{\left( {i,j} \right) \in A}}}} & (4)\end{matrix}$where g_(ij) is the sum of the antilog gain terms, l_(ij) is the sum ofthe antilog loss terms, and P_(ij) represents the fraction of a finiteresource (in this case, transmission power in watts) used to transmitfrom i to j. It is assumed that

$\begin{matrix}{{{\sum\limits_{j:{{({i,j})} \in A}}^{\;}P_{ij}} \leq p},} & (5)\end{matrix}$which means that the sum of all resource fractions is less than or equalto a constant representing the total available resource.

Calculating the Value of Delivered Network Flow

Individual traffic flow is measured in bits per second. However, thevalue of all flows across the network needs to be assessed. One approachis to simply compute the sum of all delivered traffic from all APs tothe HQ node. Let S_(i) ^(d) be the total flow of traffic from sourcenode iεN to destination node dεD. Then

$\left( {{Total}\mspace{14mu}{Network}\mspace{14mu}{Flow}} \right) \equiv {\sum\limits_{d}{\sum\limits_{i \neq d}^{\;}{\left( S_{i}^{d} \right).}}}$In this case, all traffic is valued equally, independent of othertraffic levels. As long as the total volume of traffic is large; itdoesn't matter which source-destination pairs are passing traffic (ornot).

An alternate approach is to consider the utility of delivered traffic byusing a log-utility function that places a zero value on unit flow,positive values on flows greater than one, and negative values on flowsless than one:

$\left( {{Utility}\mspace{14mu}{of}\mspace{14mu}{Total}\mspace{14mu}{Network}\mspace{14mu}{Flow}} \right) \equiv {\sum\limits_{d}{\sum\limits_{i \neq d}^{\;}{{\log_{2}\left( S_{i}^{d} \right)}.}}}$This utility function promotes fairness between flows: the penalty forsmall flows encourages the assignment of at least unit flow to allsource-destination pairs.

Simultaneous Routing & Resource Allocation Formulation

In one embodiment, this invention uses a Simultaneous Routing andResource Allocation (SRRA) technique to calculate a value of networkflow. The goal is to maximize the utility of network flow from each nodeto the central HQ node. It is assumed AP locations are given, thecommunications terms g_(ij) and l_(ij) are pre-calculated, and totaltransmission resource p is a fixed quantity representing transmissionpower in watts available at each AP.

SRRA Formulation

Index Use

iεN node (alias j, k)

(i, j)εA arc (link)

dεD⊂N destination node

Calculated Data g_(ij) product of antilog gain terms from i ε N to j ε N[none] l_(ij) product of antilog loss terms from i ε N to j ε N [none]p_(i) maximum total transmission power per node [watts] B channelbandwidth [hertz] b_(ij) background noise power from i ε N to j ε N[watts] Decision Variables S_(i) ^(d) total flow of traffic from i ε Nto destination d ε D [flow] X_(ij) ^(d) traffic flow along arc (i, j) εA to destination d ε D [flow] T_(ij) total flow vector along arc (i, j)ε A [flow] P_(ij) total transmission power along arc (i, j) ε A [watts]Formulation

$\begin{matrix}{{\max\limits_{S,X,T,P}{\sum\limits_{d}{\sum\limits_{i \neq d}^{\;}{\log_{2}\left( S_{i}^{d} \right)}}}}{s.t.}} & \; & ({S0}) \\{{{\sum\limits_{k:{{({j,k})} \in A}}^{\;}X_{jk}^{d}} - {\sum\limits_{i:{{({i,j})} \in A}}^{\;}X_{ij}^{d}}} = S_{j}^{d}} & {{\forall\;{j \in N}},{\forall\;{d \in D}}} & ({S1}) \\{T_{ij} = {\sum\limits_{d}^{\;}X_{ij}^{d}}} & {\forall{\left( {i,j} \right) \in \forall}} & ({S2}) \\{{T_{ij} - {B\;{\log_{2}\left( {1 + {\frac{g_{ij}}{b_{ij}l_{ij}}P_{ij}}} \right)}}} \leq 0} & {\forall{\left( {i,j} \right) \in A}} & ({S3}) \\{{\sum\limits_{j:{{({i,j})} \in A}}P_{ij}} \leq p_{i}} & {\forall\;{i \in \; N}} & ({S4}) \\{P_{ij} \geq 0} & {\forall{\left( {i\;,j} \right) \in A}} & ({S5}) \\{X_{ij}^{d} \geq 0} & {{\forall{\left( {i,j} \right) \in A}},{\forall\;{d \in D}}} & ({S6}) \\{T_{ij} \geq 0} & {\forall{\left( {i,j} \right) \in \; A}} & ({S7}) \\{S_{i}^{d} \geq 0} & {i \neq d} & ({S8})\end{matrix}$

The objective function (S0) maximizes the sum of utilities for eachtraffic flow. Constraint (S1) ensures balance of flow at each node.Constraint (S2) defines the total flow along any arc to equal the sum ofall traffic flows along that arc. Constraint (S3) ensures traffic flowalong any arc is less than or equal to the capacity of that arc.Constraint (S4) bounds total transmission power per AP by availableresource. Constraints (S5-S8) ensure non-negativity.

Dual Decomposition Technique

Due to its layered structure (i.e., the routing and resource allocationdecisions), this problem can be solved via dual decomposition. Byintroducing the Lagrange multipliers α_(ij)∀(i, j)εA for the routing andresource allocation constraint (S3), obtain the partial Lagrangian:

$\begin{matrix}{{L\left( {S,X,T,P,\alpha} \right)} = {{\sum\limits_{d}^{\;}{\sum\limits_{{i \neq d}\;}{\log_{2}\left( S_{i}^{d} \right)}}} - {\sum\limits_{{({i,j})} \in A}^{\;}{{\alpha_{ij}\left( {T_{ij} - {B\;{\log_{2}\left( {1 + {\frac{g_{ij}}{b_{ij}l_{ij}}P_{ij}}} \right)}}} \right)}.}}}} & (6)\end{matrix}$The choice of α is minimized:

$\min\limits_{\alpha}{{L\left( {S,X,T,P,\alpha} \right)}.}$

The objective function of the dual problem can then be evaluated via thenetwork flow variables S, X, and T, and the communications variable P:

$\begin{matrix}{{V(\alpha)} = {{V_{flow}(\alpha)} + {V_{comm}(\alpha)}}} & (7) \\{{V_{flow}(\alpha)} = {{\max\limits_{S,X,T}{\sum\limits_{d}{\sum\limits_{i \neq d}^{\;}{\log_{2}\left( S_{i}^{d} \right)}}}} - {\sum\limits_{{({i,j})} \in A}{\alpha_{ij}T_{ij}}}}} & (8) \\{{V_{comm}(\alpha)} = {\max\limits_{P}{\sum\limits_{{({i,j})} \in A}{\alpha_{ij}B\;{\log_{2}\left( {1 + {\frac{g_{ij}}{b_{ij}l_{ij}}P_{ij}}} \right)}}}}} & (9)\end{matrix}$

The representation of the capacity constraint (Equation 4) is alogarithmic function and hence is a concave and monotone increasingcapacity function. It is also assumed that:

$\begin{matrix}{T_{ij} < {B\;{\log_{2}\left( {1 + {\frac{g_{ij}}{b_{ij}l_{ij}}P_{ij}}} \right)}{\forall{\left( {i,j} \right) \in A}}}} & (10)\end{matrix}$That is, the total flow of traffic along a link is strictly less thanthe maximum capacity of that link.

Since the objective function of the primal problem is not strictlyconcave in the variables X and T, the dual function is only piecewisedifferentiable, and hence a non-differentiable convex optimizationproblem. A subgradient method is used to obtain a solution. Similar tothe gradient method, this method uses the subgradient rather than thegradient (which may not exist or is too difficult to compute). Eachiteration of the subgradient method might not necessarily improve thedual objective value, but each iteration reduces the distance to theoptimal solution.

The solution of V_(flow)(α) (Equation 8) is computed via the networkflow subproblem, and the solution of V_(comm)(α) (Equation 9) iscomputed via the resource allocation subproblem.

Network Flow Subproblem

The network flow subproblem (defined below) is solved as amulticommodity flow problem.

$\begin{matrix}{{\max\limits_{S,X,T}{\sum\limits_{d}{\sum\limits_{i \neq d}^{\;}{\log_{2}\left( S_{i}^{d} \right)}}}} - {\sum\limits_{{({i,j})} \in A}{\alpha_{ij}T_{ij}}}} & \; & ({F0}) \\{{{s.t.{\sum\limits_{{k:{{({j,k})} \in A}}\;}^{\;}X_{jk}^{d}}} - {\sum\limits_{i:{{({i,j})} \in A}}X_{ij}^{d}}} = S_{j}^{d}} & {{\forall\;{j \in N}},{\forall\;{d \in D}}} & ({F1}) \\{T_{ij} = {\sum\limits_{d}X_{ij}^{d}}} & {\forall{\left( {i,j} \right) \in A}} & ({F2}) \\{X_{ij}^{d} \geq 0} & {{\forall{\left( {i,j} \right) \in A}},{\forall\;{d \in D}}} & ({F3}) \\{T_{ij} \geq 0} & {\forall{\left( {i,j} \right) \in A}} & ({F4}) \\{S_{i}^{d} \geq 0} & {i \neq d} & ({F5})\end{matrix}$The objective function (F0) maximizes the difference of the sum ofutilities for each traffic flow and the costs associated with the totalflows along each arc. Constraint (F1) ensures balance of flow at eachnode. Constraint (F2) defines the total flow along any arc to equal thesum of all traffic flows along that arc. Constraints (F3-F5) ensurenon-negativity.

By substituting the T_(ij) term in the objective function with

${\sum\limits_{d}X_{ij}^{d}},$the problem can be solved for each fixed commodity (destination){circumflex over (d)}:

$\begin{matrix}{{\max\limits_{S,X,T}{\sum\limits_{i \neq d}^{\;}{\log_{2}\left( S_{i}^{\hat{d}} \right)}}} - {\sum\limits_{{({i,j})} \in A}{\alpha_{ij}X_{ij}^{\hat{d}}}}} & \; \\{{{s.t.{\sum\limits_{k:{{({j,k})} \in A}}X_{jk}^{\;^{\hat{d}}}}} - {\sum\limits_{i:{{({j,k})} \in A}}X_{ij}^{\hat{d}}}} = S_{j}^{\hat{d}}} & {\forall{j \in N}} \\{X_{ij}^{\hat{d}} \geq 0} & {\forall{\left( {i,j} \right) \in A}} \\{S_{i}^{\hat{d}} \geq 0} & {i \neq \hat{d}}\end{matrix}$

The next consideration is the total cost of sending flow over differentpaths from source node i to destination node d. Let B_(k) denote thek^(th) path from i to d, and let Y_(k) denote the total flow sent alongpath B_(k). Then

$\left( {{Total}\mspace{14mu}{Cost}\mspace{14mu}{Per}\mspace{14mu}{Unit}\mspace{14mu}{Flow}} \right)_{B_{k}} = {\sum\limits_{{({i,j})} \in B_{k}}^{\;}\alpha_{ij}}$and

$\left( {{Total}\mspace{14mu}{Cost}\mspace{14mu}{of}\mspace{14mu}{Flow}} \right)_{B_{k}} = {Y_{k}{\sum\limits_{{({i,j})} \in B_{k}}{\alpha_{ij}.}}}$

Summing over all paths from i to d, the contribution to the objectivefunction can be rewritten as

${\log_{2}\left( {\sum\limits_{k}Y_{k}} \right)} - {\sum\limits_{k}{Y_{k}{\sum\limits_{{({i,j})} \in B_{k}}{\alpha_{ij}.}}}}$This objective is maximized when the marginal utility equals themarginal cost. For any path B_(k), this maximum is reached at the point

${\frac{\mathbb{d}\;}{\mathbb{d}Y_{k}}\log_{2}Y_{k}} = {\sum\limits_{{({i,j})} \in B_{k}}{\alpha_{ij}.}}$

For each source-destination pair (i, d), the optimum solution is to sendflow along the shortest (lowest cost) path(s) from i to d. Thus, solvingfor optimal flows from to d is achieved by calculating the shortestpath(s) and solving for first order conditions. Consider two paths B₁and B₂ from i to d with respective costs c₁ and c₂, where c₁<c₂. Flow Y₁should be pushed along path B₁ as long as the marginal benefit isgreater than the marginal cost, i.e.,

${\frac{\mathbb{d}}{\mathbb{d}Y_{1}}\log_{2}Y_{1}} \geq {c_{1}.}$The stopping point is reached at equality, as pushing additional flowbeyond this point results in greater cost than benefit. Increasingdelivered flow along B₂ costs at least c₁ per unit (since c₂>c₁), andgenerates marginal benefit no greater than c₁. Thus, the optimalsolution is to push Y₁* along path B₁. If multiple shortest paths exist(e.g., there exists a path B₃ for which c₃=c₁), the optimal solution isto push any convex combination of nonnegative flows totaling Y₁* alongthese shortest paths, and no flows along strictly longer paths.

The ability to send flow along multiple shortest paths (if they exist)is required for the problem to converge under the subgradient method. Amodification of the Floyd-Warshall algorithm is used that can store allshortest paths from i to d, and the associated path costs are used tosolve for the optimal flows

$Y_{k}^{*} = {S_{i}^{d} = \frac{1}{c_{k}{\ln(2)}}}$where c_(k) is the lowest cost path k, namely, the smallest a betweennode i and d. If multiple shortest paths do exist for any (i, d), theoptimal flow is split evenly among the paths.

The following pseudo-code solves the network flow subproblem.

Algorithm Network Flow

Input: Node and arc adjacency lists; maximum transmit power p; α valuesfor each arc.

Output: Network flow values for all transmission links

begin

-   -   Calculate arc costs    -   Calculate all shortest paths for all (i, j)εA using        Floyd-Warshall algorithm for (all (i, d))    -   Calculate total delivered flow S_(i) ^(d) from each iεN to all        dεD    -   Calculate flow X_(ij) ^(d) along each (i, j)εA to all dεD    -   next (i, d)    -   end.

The resource allocation subproblem determines transmitted power P andcan be expressed as follows:

Resource Allocation Subproblem

$\begin{matrix}{\max\limits_{P}{\sum\limits_{{({i,j})} \in A}^{\;}{\alpha_{ij}B\;{\log_{2}\left( {1 + {\frac{g_{ij}}{b_{ij}l_{ij}}P_{ij}}} \right)}}}} & \; \\{{s.t.{\sum\limits_{j:{{({i,j})} \in A}}P_{ij}}} \leq p_{i}} & {\forall{i \in N}} \\{P_{ij} \geq 0} & {\forall{\left( {i,j} \right) \in A}}\end{matrix}$

The objective function (R0) maximizes the sum of the capacities of eacharc. Constraint (R1) bounds total transmission power per AP by availableresource. Constraint (R2) ensures non-negativity.

This nonlinear, concave, differentiable problem is solved by using aresource allocation algorithm. The method allows each AP powerallocation scheme to be solved separately. Let k=1, 2, . . . R be theset of all adjacent arcs (i, j)εA to the AP in question. Let α_(k) andc_(k) represent the lower and upper bounds of P_(k). In the aboveformulation, α_(k)=0 and c_(k)=p_(i). Let DQ(P_(k)) be the derivative ofthe objective function at P_(k).

A necessary and sufficient condition for P* to be an optimal solution isthat there exists a Lagrange multiplier M such that:

$\begin{matrix}{P_{k}^{*} = \left. a_{k}\rightarrow{{{DQ}\left( a_{k} \right)} \leq M} \right.} & \mspace{11mu} & (11) \\{\left. {a_{k} < P_{k}^{*} < c_{k}}\rightarrow{{DQ}\left( P_{k}^{*} \right)} \right. = M} & \; & (12) \\{P_{k}^{*} = \left. b_{k}\rightarrow{{{DQ}\left( c_{k} \right)} \geq M} \right.} & \; & (13) \\{{\sum\limits_{k = 1}^{R}P_{k}} = {p_{i}\mspace{40mu}{\forall{i \in {N.}}}}} & \; & (14)\end{matrix}$

Equations 11-13 establish bounds on M based on the optimum value of P.Equation 14 requires the sum of all transmission powers to equal thetotal possible transmission power, i.e., all available transmissionresources are utilized.

If DQ(α_(k))≧DQ(α_(k+1)) for k=1, 2, . . . R−1, then there exists aninteger q, 1≦q≦R, such that P_(k)*>α_(k), k=1, 2, . . . q, andP_(k)*=α_(k), k=q+1, q+2, . . . R. Reordering the derivatives DQ(α_(k))in this manner, ensures P_(k)*>α_(k) (the optimal power allocation isstrictly greater than the lower bound of zero) and DQ(P_(k)*)=M(q),where

${M(q)} = {\left( {1/q} \right){\sum\limits_{k = 1}^{R}{D\;{{Q\left( P_{k}^{*} \right)}.}}}}$

The optimal solution P_(k)* can therefore be found by finding aclosed-form expression for M(q). First, solve for P_(k)* as a functionof M(q). The derivative of the objective function is

$\begin{matrix}{{D\;{Q\left( P_{k} \right)}} = \frac{\alpha_{k}B\frac{g_{k}}{b_{k}l_{k}}}{{\ln(2)}\left( {1 + {\frac{g_{k}}{b_{k}l_{k}}P_{k}}} \right)}} & {\forall{k \in {R.}}} \\\; & \;\end{matrix}$

Since the derivatives are ordered, DQ(P_(k)*)=M(q) and solve for P_(k)*as a function of M(q):

$\begin{matrix}{P_{k}^{*} = {\frac{\alpha_{k}B}{{\ln(2)}{M(q)}} - \frac{b_{k}l_{k}}{g_{k}}}} & {\forall{k \in {R.}}}\end{matrix}$To find a closed-form expression for M(q), first simplify thederivative:

$\begin{matrix}{{M(k)} = {D\;{Q\left( P_{k}^{*} \right)}\frac{\alpha_{k}B}{{\ln(2)}\left\lbrack {P_{k}^{*} + \left( \frac{b_{k}l_{k}}{g_{k}} \right)} \right\rbrack}}} & {\forall{k \in {R.}}}\end{matrix}$

Next, sum over all k=1, 2, . . . q:

${M(q)} = {\frac{B{\sum\limits_{k = 1}^{q}\alpha_{k}}}{{{\ln(2)}{\sum\limits_{k = 1}^{q}P_{k}^{*}}} + {{\ln(2)}{\sum\limits_{k = 1}^{q}\left( \frac{b_{k}l_{k}}{g_{k}} \right)}}}.}$By the above results, replace

${{\sum\limits_{k = 1}^{q}{P_{k}^{*}\mspace{14mu}{with}\mspace{14mu} p_{i}}} - {\sum\limits_{k = q}^{R}a_{k}}},$yielding

${M(q)} = {\frac{B{\sum\limits_{k = 1}^{q}\alpha_{k}}}{{{\ln(2)}\left\lbrack {p_{i} - {\sum\limits_{k = q}^{R}a_{k}}} \right\rbrack} + {{\ln(2)}{\sum\limits_{k = 1}^{q}\left( \frac{b_{k}l_{k}}{g_{k}} \right)}}}.}$

Since the lower bound on transmission power α_(k)=0, this expressionsimplifies to

${M(q)} = {\frac{B{\sum\limits_{k = 1}^{q}\alpha_{k}}}{{\ln(2)}\left\lbrack {p_{i} + {\sum\limits_{k = 1}^{q}\left( \frac{b_{k}l_{k}}{g_{k}} \right)}} \right\rbrack}.}$

To solve for the optimum value of q, iteratively increase q by one untilthe conditionDQ(α_(k+1))>M(q)is no longer true, or until k equals the number of adjacent arcs R.

The following pseudo-code solves the resource allocation subproblem.

Algorithm Resource Allocation

Input: Node and arc adjacency lists; maximum transmit power p; gain,loss and α values for each arc; channel bandwidth B, background noise b

Output: Power allocations for all arcs

begin

-   -   Reorder derivatives    -   Set k=0    -   do        -   k=k+1        -   Calculate M(q)        -   if (k<R)        -   Calculate DQ(α_(k+1))        -   end if;    -   while (DQ(α_(k+1))>M(q) and k<R)    -   end;    -   Calculate P_(k)* for all adjacent arcs        end.

Utilizing the Subgradient Method

The subgradient of the non-differentiable convex function V(α) is avector h such thatV(β)≧V(α)+h′(β−α)∀β.Let X*(α), T*(α), and S*(α) be an optimal solution to the network flowsubproblem at α, and let P*(α) be an optimal solution to the resourceallocation subproblem at α. Then the subgradient h of V(α) is

$h_{ij} = {{B\;{\log_{2}\left( {1 + {\frac{g_{ij}}{b_{ij}l_{ij}}{P_{ij}^{*}(\alpha)}}} \right)}} - {T_{ij}^{*}(\alpha)}}$where h_(ij) are the components of the subgradient h defined for each(i, j)εA. The subgradient can be interpreted as the excess capacity oneach arc.

To solve the dual problem via the subgradient method, select an initialvalue of α¹

$\left( {{{for}\mspace{14mu}{example}},\frac{g_{ij}}{b_{ij}l_{ij}}} \right),$and for each iteration k=1, 2, 3, . . . , compute the dual functionV(α^(k)) and subgradient h^(k). Update the dual variable α according toα^(k+1)(α^(k)−δ_(k) h ^(k))₊where δ_(k) is the step size of iteration k and ( )₊ denotes theprojection onto the nonnegative orthant. Use a step size rule of

$\delta_{k} = \frac{a^{k}}{{h_{ij}}^{2}}$where

$a^{k} = \frac{1 + m}{k + m}$and m is a fixed positive integer (for example, use 1000). This stepsize rule follows the conditions for a diminishing step size, namely

${a^{k}->0},{{\sum\limits_{k = 1}^{\infty}a^{k}} = {\infty.}}$

In one embodiment, the method is stopped after a given number ofiterations (typically 500), and the optimized solution found is used asan approximation of the solution to the SRRA problem (and an estimate ofnetwork performance).

SRRA Algorithm

The following pseudo-code solves the simultaneous routing and resourceallocation problem using the subgradient method.

Algorithm SRRA

Input: Stopping criteria (max_iterations)

Output: Optimal routing and power allocations for all transmission links

begin

-   -   Select initial α values    -   while (k<max_iterations)        -   call Algorithm Network Flow (calculates X_(ij) ^(d) values)        -   Calculate

$T_{ij} = {\sum\limits_{d}{X_{ij}^{d}\mspace{14mu}{\forall{\left( {i,j} \right) \in A}}}}$

-   -   -   Calculate S_(i) ^(d)∀iεN, ∀dεD        -   Calculate

${V_{flow}(\alpha)} = {{\sum\limits_{d}{\sum\limits_{i \neq d}{\log_{2}\left( S_{i}^{d} \right)}}} - {\sum\limits_{{({i,j})} \in A}{\alpha_{ij}T_{ij}}}}$

-   -   -   call Algorithm Resource Allocation (calculates P_(ij)            values)        -   Calculate

${V_{comm}(\alpha)} = {\sum\limits_{{({i,j})} \in A}{\alpha_{ij}B\;{\log_{2}\left( {1 + {\frac{g_{ij}}{b_{ij}l_{ij}}P_{ij}}} \right)}}}$

-   -   -   Calculate

$h_{ij} = {{B\;{\log_{2}\left( {1 + {\frac{g_{ij}}{b_{ij}l_{ij}}P_{ij}}} \right)}} - {{T_{ij}^{*}(\alpha)}\mspace{14mu}{\forall{\left( {i,j} \right) \in A}}}}$

-   -   -   Calculate δ_(k)        -   Calculate α^(k+1)=(α^(k)−δ_(k)h^(k))₊

    -   end;        end.

SRRA+C Formulation

Weighted Multiple Objective Function

Return now to the overall objective of maximizing coverage area (or morespecifically, minimizing coverage shortfall), subject to constraints onnumber and operating characteristics of APs, network flow requirements,and the operating environment. The DIRECT optimization algorithm(described below) requires the objective function to be continuous; tomeet this requirement, enforce a lower bound on network service using asoft constraint. Greater network flow results in greater benefit (i.e.,smaller penalty) to the objective function:(Overall Objective Function)≡(Total Coverage Shortfall)−w(Network Flow)where w is a positive scalar (in units of dBm/log₂ bps) representing therelative weight placed on network flow. Larger values of w place moreemphasis on network flow, and in general increase the desirability ofmore compact network topologies. The order of magnitude of w depends onthe relative values of coverage shortfall and network flow.

Solve total coverage shortfall using and network flow using the SRRAformulation. Both are functions of AP locations. Let σ be the locationsof all APs for a particular network, and let Ω be the overall objectivefunction. Thus,

$\begin{matrix}{{\Omega(\sigma)} \equiv {{\sum\limits_{{({u,v})} \in G}{\min\left( {\tau_{uv} - \rho_{uv}^{i}} \right)}_{+}} - {w\;{\max\limits_{S,X,T,R}{\sum\limits_{d}{\sum\limits_{i \neq d}{{\log_{2}\left( S_{i}^{d} \right)}.}}}}}}} & (15)\end{matrix}$The SRRA+C problem is to minimize the objective value Ω by choice of APlocations σ. The objective function is in units of dBM, although thecombined objective value has no direct practical implication. Rather,the objective value serves as a relative method of comparing differentnetwork topologies.

Note that this formulation does not directly relate the values of clientcoverage and backhaul network flow. This follows from the assumptionthat all APs have different radio systems to provide client coverage andbackhaul connectivity. These radios have separate resource constraintsand can utilize different networking algorithms. This implies that achange to client coverage area (even if client distribution is uniform)does not necessarily result in a change to backhaul network flow: APscan have proprietary algorithms that may reduce client coverage areawith demand, or maintain the area by reducing the amount of service eachclient receives.

Bounding the SRRA+C Problem

Four values bound the overall objective function in Equation 15, namelythe respective upper and lower bounds of coverage shortfall and networkflow. These provide an understanding of the limits to the possibleimprovement of any solution (though, this boundary may be infeasible).

At one extreme is “perfect” client coverage: every discrete grid square(u, v)εC receives an RSS of at least τ_(uv), so the coverage shortfallvalue is zero. At the other extreme, there is the exact opposite: nogrid square receives any signal, so the coverage shortfall value is

$\sum\limits_{{({u,v})} \in C}{\tau_{uv}.}$

The lower bound on total delivered network flow

$\sum\limits_{d}{\sum\limits_{i \neq d}S_{i}^{d}}$is zero. The upper bound depends on the capacity of the given networkwith virtually no propagation loss between APs. (This is equivalent toplacing all APs at essentially the same location.)

These four bounds provide a two-dimensional representation of thesolution space. The horizontal axis represents the value of coverage,and the vertical axis represents the value of network flow. A solutionon the left vertical axis has perfect coverage, and a solution on theupper horizontal axis has perfect network flow. Note that it is highlyunlikely for a solution to appear at the upper-left corner of thisbounded solution space. Such a “perfect” solution may consist of a verysmall coverage region receiving service from an overabundance ofco-located APs, or perhaps an arbitrary coverage region literallycompletely covered in APs.

Solving the SRRA+C Problem

Thus far, has been described how to quantify the value of a networkusing the SRRA+C formulation given AP locations, but not how to actuallychoose those locations. For a finite number of discrete AP locations, anexact method of solving the SRRA+C problem is through enumeration, i.e.,trying all possible AP placement solutions which is inefficient.

Recall that the operating area (that area where APs may be placed andcoverage may be desired) is discretized into a U×V grid. There are ntotal APs and the position of the first (the HQ node) is given, so thetotal number of unique AP locations σ is

$\begin{pmatrix}{UV} \\{n - 1}\end{pmatrix}.$This exponential growth in both UV and n of the solution space makes fora very large number of solutions.

A faster, more efficient solution method is needed if SRRA+C is to beincorporated into the network design process. The DIRECT algorithm meetsthis need.

Dividing Rectangles Optimization

The DIviding RECTangles (DIRECT) algorithm is a sampling optimizationalgorithm. The algorithm requires no knowledge of the objective functiongradient, which makes it appealing in solving the problem where theeffects of terrain and radio propagation make for a very complexfunction. The algorithm iteratively samples points within the domain,choosing these points based on the unexplored territory of the functionand the previously calculated sample function values. The algorithmstops after a defined number of iterations.

The DIRECT algorithm reaches a global optimum if the objective functionis continuous. To meet this requirement, bilinear interpolation is usedto create a continuous solution space from the discrete map data.

Bilinear Interpolation

Bilinear interpolation is a common image processing technique thatutilizes the four nearest neighboring points to calculate the intensity(in this case, elevation) of a given point. The technique providesadequately smooth elevation information, without the added computationalload of bicubic interpolation or splines.

Recall assume elevation E is a function of location uv. It is desirableto find the elevation of a point E_(xy), indicated by a circle in FIG.6. The four nearest known points are (x₁, y₁), (x₁, y₂), (x₂, y₁), and(x₂, y₂). Their corresponding function values (elevations) are E_(x) ₁_(y) ₁ , E_(x) ₁ _(y) ₂ , E_(x) ₂ _(y) ₁ , E_(x) ₂ _(y) ₂ .

First interpolate in the x direction, to find the heights of theintermediate points R₁ and R₂, located at (x, y₂) and (x, y₁):

$E_{{xy}_{2}} = {{\frac{x_{2} - x}{x_{2} - x_{1}}E_{x_{1}y_{2}}} + {\frac{x - x_{1}}{x_{2} - x_{1}}E_{x_{2}y_{2}}}}$$E_{{xy}_{1}} = {{\frac{x_{2} - x}{x_{2} - x_{1}}E_{x_{1}y_{1}}} + {\frac{x - x_{1}}{x_{2} - x_{1}}{E_{x_{2}y_{1}}.}}}$Then interpolate in the y direction to determine the height of thedesired interpolant Q:

$E_{xy} = {{\frac{y_{2} - y}{y_{2} - y_{1}}E_{{xy}_{1}}} + {\frac{y - y_{1}}{y_{2} - y_{1}}{E_{{xy}_{2}}.}}}$Replacement yields:

$E_{xy} = {{\frac{\left( {x_{2} - x} \right)\left( {y_{2} - y} \right)}{\left( {x_{2} - x_{1}} \right)\left( {y_{2} - y_{1}} \right)}E_{x_{1}y_{1}}} + {\frac{\left( {x_{2} - x} \right)\left( {y - y_{1}} \right)}{\left( {x_{2} - x_{1}} \right)\left( {y_{2} - y_{1}} \right)}E_{x_{1}y_{2}}} + {\frac{\left( {x - x_{1}} \right)\left( {y - y_{1}} \right)}{\left( {x_{2} - x_{1}} \right)\left( {y_{2} - y_{1}} \right)}E_{x_{2}y_{2}}} + {\frac{\left( {x - x_{1}} \right)\left( {y_{2} - y} \right)}{\left( {x_{2} - x_{1}} \right)\left( {y_{2} - y_{1}} \right)}{E_{x_{2}y_{1}}.}}}$

The DIRECT Algorithm

The DIRECT algorithm iteratively divides the multidimensional solutionspace into smaller hyper-rectangles based on their potential optimality.To initialize the algorithm, each dimension of the solution space isnormalized to have a lower bound of zero and an upper bound of one,creating a unit hyper-cube. The algorithm evaluates the function at thecenter of the hyper-cube. Next, the algorithm determines the set Π ofpotentially optimal hyper-rectangles/cubes. During the first iteration,there is one hyper-cube. The algorithm then samples each dimension ofeach element of Π at one-third the side-lengths of the largest dimension(in the case of a hyper-cube, all dimensions are sampled). The algorithmdetermines these locations by calculating c±δe_(i), where c is thecenter point, δ is one-third the side-length of the largest dimension,and e_(i), is the i^(th) unit vector. This is demonstrated for twodimensions in FIGS. 7A and 7B.

In FIG. 7A, the algorithm samples the center of the hyper-cube. In FIG.7B, the algorithm samples along each of the hyper-cube's largestdimensions (i.e., vertical and horizontal dimensions). Since theinterval is a hyper-cube with equal length dimensions, the algorithmsamples all dimensions.

Next, the algorithm computes w_(i) (the smallest sampled value alongeach dimension) for each element of Π:w _(i)=min{ƒ+δe_(i)),ƒ(c−δe _(i))}∀iεQ  (18)where Q is the set of the largest dimensions of a particularhyper-rectangle/cube, and e_(i) is the ith unit vector. The dimension iwith the smallest w_(i) value contains the optimal function value. Thispoint is placed in the largest sub-interval by first dividing theoriginal hyper-rectangle/cube along the dimension with the smallestw_(i). The process continues for the dimension with the next smallestw_(i) value (see FIGS. 8A-8C).

In FIG. 8A, the top sampled point (open dot) has the optimal objectivevalue, so the vertical dimension contains the smallest w_(i) value. InFIG. 8B, this dimension is divided first, and in FIG. 8C, the horizontaldimension is divided. The sampled points then become the centers of thenew hyper-rectangles/cubes.

Following the division, the value of ƒ_(min) is updated, and the set Πof potentially optimal hyper-rectangles/cubes is recalculated. Theprocess continues until a predefined number of iterations or functionevaluations has been reached.

The pseudo-code below outlines the DIviding RECTangles algorithm.

Algorithm DIRECT

Input: objective function ƒ, number and size of dimensions of solutionspace, ε value, maximum number of DIRECT iterations and functionevaluations

Output: Value and location of optimal solution found

begin  Normalize solution space  Calculate center c of hyper-cube Evaluate ƒ at c ± δe_(i) for each dimension  Set min_location = centerof hyper-cube  Set f_(min) = f(min_location)  while (iteration <max_iterations and evaluations < max_evaluations) do   if (iteration= 1)    Add Φ(Δ₁) to set Π   else   Calculate set S of all Φ(Δ_(i))  Identify set Π using Algorithm Potentially Optimal   end if;   for(all j ε Π )    Identify longest side(s) of hyper-rectangle/cube j   Evaluate ƒat c ± δe_(i) for each longest dimension    Increaseevaluations    Calculate w_(i)    Divide j into smallerhyper-rectangles/cubes based on w_(i)    Update f_(min) and min_location  next j   Increase iteration  end;  Convert min_location to originalcoordinate system end.

Convergence

DIRECT is guaranteed to converge to the global optimum if the objectivefunction is continuous. As the number of iterations goes to infinity,the size of the hyper-rectangles goes to zero, so DIRECT will eventuallysample a point within an arbitrary distance of any desired point.

SRRA+C with DIRECT

In one embodiment, the DIRECT algorithm is used iteratively to choose APlocations for solving the SRRA+C problem. The solution space is definedby the operating area in the form of terrain data. The DIRECT algorithmrequires this area to be in the shape of a rectangle or square, tofacilitate transformation into a unit hyper-cube.

The dimensionality of the problem follows from the number of APs thatcan move, (n−1). Each moving (i.e., non-HQ) AP has an associated (u, v)location bounded by the operating region, so both of these dimensionsmust be considered for each AP. Hence, the number of dimensions is2(n−1). A point in this solution space represents (u, v) coordinates forevery AP.

Hierarchical Decomposition

FIG. 9 summarizes the hierarchal method of solving the SRRA+C problem.For each iteration of DIRECT, the algorithm chooses a set of APlocations σ. Compute coverage shortfall and the SRRA solution for theselocations, and combine the values into the overall objective functionvalue Ω(σ). The process continues until the desired stopping criterionis reached. Possible criteria include elapsed time, size of intervalside length, and number of iterations since last objective valueimprovement or change in AP locations. In one embodiment, a desirednumber of DIRECT iterations is used.

SRRA+C with DIRECT Algorithm

The following pseudo-code outlines the SRRA+C process utilizing theDIRECT algorithm.

Algorithm SRRA+C with DIRECT

Input: Number and characteristics of APs, desired coverage region, HQnode location, minimum flow requirement, map data, DIRECT stoppingcriteria, and ε value (for DIRECT).

Output: WMN value; location, traffic routing and power allocations forall APs; client received signal strength at each discrete map location(u, v).

begin

-   -   Store map data    -   while (DIRECT stopping criterion not true) do        -   Calculate AP locations using Algorithm DIRECT        -   Calculate coverage shortfall value        -   Calculate network flow values using Algorithm SRRA        -   Calculate overall objective value    -   end;        end.

SRRA+C Decision Support Tool

To solve the SRRA+C problem, in one embodiment, a graphical userinterface (GUI) is created in Microsoft Visual C++ (MicrosoftCorporation, 2009). The stand-alone program reads text files in ageneric XYZ format as input for terrain elevations. This map informationcan be of any scale and any grid-based format (e.g., UniversalTransverse Mercator (UTM) coordinate system). The tool allows the userto change all input data described in the formulation.

The program allows three different modes of radio propagation(inverse-square, Hata COST-231, and TIREM). The TIREM model is accessedvia a dynamic link library (DLL) provided by the U.S. Joint SpectrumCenter. The program can solve the SRRA+C problem using eitherenumeration or the DIRECT algorithm.

The program has two operating modes. The first is a Coverage Analysismode, used to solve the SRRA+C problem as described. The user is able toinput all required variables, including drawing the coverage regiondirectly on a graphical display of the terrain map.

After solving the problem, the programs display the locations of APs andtheir associated links, and the areas in the coverage region receivingadequate client coverage graphically on the map. AP locations areindicated by transmitter icons, and calculated traffic flow links areindicated by lines connecting APs. Within the defined coverage region,green/lighter area indicates adequate coverage and red/darker areaindicates coverage shortfall.

The other operating mode is a Point-to-Point Analysis mode. This mode isused to compute point-to-point losses, received signal strengths, andtheoretical link capacities between any two points. This analysis modeis useful for examining proposed site locations, as well as tuning theinputs of the Coverage Analysis mode to provide desired output.

SRRA+C Model Validation

The validity of the SRRA+C formulation, specifically its ability toquantify network performance, rests on the accuracy of radio wavepropagation and network throughput predictions. Each part of the overallobjective function depends on the algorithms associated with thesepredictions. The client coverage portion of the formulation reliesdirectly on received signal strength, a function of radio wavepropagation. Network throughput depends on received signal strength andthe capacity formula of Equation 3. Field tests provide validation foreach algorithm.

Validation of Client Coverage Model: Received Signal Strength Test

In one embodiment, received signal strength is used to calculate bothclient coverage and the traffic capacity between APs. While the HataCOST-231 model can provide a usable approximation of radio propagation,in one embodiment, the criticality of accuracy inclines the use of TIREMfor all tests. Though TIREM is computationally more expensive thanCOST-231, in practice the runtime differences are negligible.

TIREM predicts radio propagation between two points, given a profile ofelevations between the points. The model has proven its value in manygovernment and commercial modeling applications, but it does have itslimitations. It does not account for foliage, rain, man-made obstacles,and any obstacles not directly in the path between the two given points.Nor does it account for any long-term variability; the predictions arestrictly deterministic. For line-of-sight calculations, the differencebetween TIREM predictions and actual measurements has been show to havea mean of −2.8 dB and a standard deviation of 8.9 dB. Considering allthe variables contributing to propagation physics, this level ofvariation is very reasonable.

In one embodiment, a first test is conducted at the 5.8 GHz operatingfrequency. Collect n=200 observations from 0 to 466 meters. Using a fademargin of 10 dB, compute the differences between TIREM predictions andactual observations, and find the mean of these differences to be −0.64dB and the standard deviation to be 4.97. FIG. 10 illustrates theresults of this field test.

Conduct a similar test at the 2.4 GHz operating frequency. Collect n=165observations from 0 to 464 meters. The mean of the differences is −2.65dB and the standard deviation to be 7.56. FIG. 11 illustrates theresults of this field test.

These two tests demonstrate that TIREM is capable of making veryreasonable received signal strength predictions using the testingequipment in a real-world environment. Since the formulation of clientcoverage depends on received signal strength, this formulation is anacceptable method of valuing coverage.

In one embodiment, the process may be embodied as a computer programproduct. A computer program product includes a medium configured tostore or transport computer readable code or data, or in which computerreadable code or data may be embedded. Some examples of computer programproducts are CD-ROM disks, ROM cards, floppy disks, magnetic tapes,computer hard drives, and servers on a network.

In one embodiment, the process may be embodied in a computer basedapparatus allowing for input of data into the process and receipt ofoutput from the process, i.e., wireless mesh network design(s).

This disclosure provides exemplary embodiments of the invention. Thescope of the invention is not limited by these exemplary embodiments.Various embodiments, whether explicitly provided for by thespecification, or implied by the specification or not, may beimplemented by one of skill in the art in view of this disclosure. Thus,although various operations of the process are described in an exemplaryorder, those of skill in the art can recognize that other orders ofoperations are possible without departing from the scope of theinvention.

What is claimed is:
 1. A computer-implemented method for forming a wireless mesh network that includes a plurality of access points arranged to provide radio communications with a plurality of client devices comprising: a computer-based apparatus including non-transitory computer readable code for a method for forming a wireless mesh network, when implemented by the computer-based apparatus, the method comprising: (a) receiving inputs of criteria for a minimum client coverage threshold, a network signal flow weight, the network signal flow weight being a positive scalar representing the relative weight placed on network signal flow, and a stopping criterion, for the wireless mesh network; (b) receiving an input of an operating region as a two-dimensional topographic area where access points may be placed, the operating region containing an infinite number of potential access point locations; (c) receiving an input of one or more coverage regions where client coverage is desired, wherein the one or more coverage regions and the operating region need not be the same; (d) receiving an input of a minimum coverage threshold for each coverage region for a client to connect to an access point in the operating region; (e) determining an initial partition of the operating region and an associated arrangement of access points in the operating region based on the dimensions of the operating region, the associated arrangement of access points being selected from the potential access point locations; (f) calculating a client coverage value at each coverage region; (g) comparing the calculated client coverage value to the minimum client coverage threshold for each coverage region to determine a calculated coverage shortfall value; (h) determining an optimal signal routing and an optimal power allocation for each access point to determine a calculated network signal flow value; (i) inputting the calculated coverage shortfall value for each coverage region and the calculated network signal flow value into a weighted multiple-objective optimization function which utilizes the network signal flow weight, to determine an overall objective value associated with that arrangement of access points, and storing the overall objective value; and (j) determining if the stopping criterion is met, and wherein if the stopping criterion is not met, selecting a next partition of the operating region and an associated arrangement of access points based on the overall objective values of all previously determined arrangements of access points and repeating operations (f)-(j); and wherein if the stopping criterion is met, selecting the arrangement of access points associated with the minimal objective value of the multiple-objective optimization function of those previously stored, and providing as output the associated arrangement of access points as a wireless mesh network design.
 2. The computer-implemented method of claim 1 wherein the stopping criterion is a selected number of iterations of operations (f)-(j). 